import Logger from "../Logger/Logger";

// Learn TypeScript:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

const { ccclass, property } = cc._decorator;

@ccclass
export default class EventUtils {

    public static logEvent(event: string, bundle: object = null) {
        if (bundle != null) {
            bundle.event = event;
        } else {
            bundle = {
                event: event
            }
        }
        Logger.log(bundle);
        if (typeof gmbox != 'undefined' && gmbox["logEvent"]) {
            gmbox.logEvent(bundle);
        }
    }

    public static logGameRestart(from: string) {
        EventUtils.logEvent("game_restart", {
            from: from
        })
    }

    public static logRevivial(success: boolean, from: string) {
        EventUtils.logEvent("game_revivial", {
            success: success,
            from: from
        })
    }
}
